package com.ninong.ker.admin.domain;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.ninong.ker.admin.rest.vo.DeptVO;
import lombok.Data;

/**
 * 系统用户
 * 
 * @author cmd
 */
@Data
@TableName("fw_user")
public class User implements Serializable {
	/**
	* 
	*/
	private static final long serialVersionUID = 3201155537512639197L;

	@TableId(type = IdType.ASSIGN_UUID)
	private String id;

	/**
	 * 部门ID
	 */
	@TableField("dept_id")
	private String deptId;

	@TableField("dept_name")
	private String deptName;

	/**
	 * 昵称
	 */
	@TableField("nick_name")
	private String nickName;

	/**
	 * 0 平台用户 1 租户用户
	 */
	private String type;

	/**
	 * 手机号码
	 */
	private String phone;

	/**
	 * 邮箱
	 */
	private String email;

	/**
	 * 创建时间
	 */
	@TableField(value = "create_time", fill = FieldFill.INSERT)
	private Date createTime;

	/**
	 * 修改时间
	 */
	@TableField(value = "update_time", fill = FieldFill.UPDATE)
	private Date updateTime;

	/**
	 * 密码盐
	 */
	private String salt;

	/**
	 * 密码
	 */
	private String password;

	/**
	 * 状态：1启用、0禁用
	 */
	@TableField(fill = FieldFill.INSERT)
	private Boolean enabled;

	/**
	 * 是否删除 0正常 1删除
	 */
	@TableField(fill = FieldFill.INSERT)
	private Boolean deleted;

	/**
	 * 部门集合
	 */
	@TableField(exist = false)
	private List<DeptVO> resouces;

	/**
	 * 权限集合
	 */
	@TableField(exist = false)
	private List<String> roles;

	/**
	 * 登录时间
	 */
	@TableField(exist = false)
	private Date loginTime;

	/**
	 * 是否多数据源租户
	 */
	private Boolean multipleDb;

	/**
	 * 租户ID
	 */
	private String tenantId;

}
